package com.zimin.cloud.wiki.controller.api;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zimin.cloud.mine.pojo.wiki.business.DocBO;
import com.zimin.shared.pojo.Result;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 文档 前端控制器 接口
 * </p>
 *
 * @author zimin
 * @since 2021-10-27 21:02
 */
@RequestMapping("/wiki")
public interface IDocController {


    /**
     * <p></p>
     *
     * @param docBO 分类列表参数
     * @return com.zimin.cloud.shared.pojo.Result
     * @since 2021-11-02 16:55:30
     */
    @GetMapping("/docs")
    Result docList(Page page, DocBO docBO);

    /**
     * <p>保存分类</p>
     *
     * @param docBO 分类参数
     * @return com.zimin.cloud.shared.pojo.Result
     * @since 2021-11-03 11:42:49
     */
    @PostMapping("/doc")
    Result saveDoc(@RequestBody DocBO docBO);

    /**
     * <p>修改分类</p>
     *
     * @param docBO 分类参数
     * @return com.zimin.cloud.shared.pojo.Result
     * @since 2021-11-03 11:43:33
     */
    @PutMapping("/doc")
    Result updateDoc(@RequestBody @Validated DocBO docBO);

    /**
     * <p>根据ID删除分类</p>
     *
     * @param id ID
     * @return com.zimin.cloud.shared.pojo.Result
     * @since 2021-11-03 11:43:54
     */
    @DeleteMapping("/doc/{ids}")
    Result removeById(@PathVariable(value = "ids") String id);


    /**
     * <p>获取所有的分类树</p>
     *
     * @param docBO 分类对象
     * @return com.zimin.shared.pojo.Result
     * @since 2021-11-22 17:36:49
     */
    @GetMapping("/doc/all")
    Result docAll(DocBO docBO);


    /**
     * <p>获取所有的分类树</p>
     *
     * @param docBO 分类对象
     * @return com.zimin.shared.pojo.Result
     * @since 2021-11-22 17:36:49
     */
    @GetMapping("/doc/{id}")
    Result getDocById(@PathVariable(name = "id") String id);

}
